| 函数 | 作用 | 函数 | 作用 |
|---|---|---|---|
| getSymbols() | 从多种信息源里获得信息 | getSymbols.csv() | 从csv文件中读入数据 |
| getDividends() | 获取上市公司的股息数据 | getSymbols.FRED() | 从FRED中获取数据 |
| getFinancials() | 获取上市公司的财务报表 | getSymbols.goole() | 从google中获取数据 |
| getFX() | 获取汇率数据 | getSymbols.MySQL | 从MySQL中获取数据 |
| getMetals() | 获取重金属交易数据 | getSymbols.oanda() | 从oanda中获取数据 |
| getSplits | 获取上市公司的拆股数据 | getSybols.rda() | 从R的二进制文件获取数据 |
| getOptionChain() | 获取期权交易数据 | getSymbols.SQLite() | 从SQLite数据库中获取数据 |
| getQuote() | 获取即时的网络报价 | getSymbols.yahoo() | 从雅虎网中获取数据 |
获取上市公司股票的日交易数据
getSymbols("EDU",src = "yahoo",from="2013-8-20",to="2013-9-02")
## [1] "EDU"
class(EDU)
## [1] "xts" "zoo"
pander::pander(EDU,split.cells = 4)
| Period | EDU.Open | EDU.High | EDU.Low | EDU.Close | EDU.Volume |
|---|---|---|---|---|---|
| 2013/08/20 00时00分00秒 | 22.31 | 22.52 | 22.08 | 22.44 | 680300 |
| 2013/08/21 00时00分00秒 | 22.24 | 22.69 | 22.17 | 22.58 | 969800 |
| 2013/08/22 00时00分00秒 | 22.69 | 23.29 | 22.5 | 23.1 | 911300 |
| 2013/08/23 00时00分00秒 | 23.06 | 23.12 | 22.75 | 23 | 647000 |
| 2013/08/26 00时00分00秒 | 23 | 23.24 | 22.76 | 23.06 | 732200 |
| 2013/08/27 00时00分00秒 | 22.76 | 22.79 | 22.31 | 22.38 | 2145100 |
| 2013/08/28 00时00分00秒 | 22.18 | 22.41 | 21.66 | 21.95 | 666300 |
| 2013/08/29 00时00分00秒 | 21.89 | 22.15 | 21.71 | 21.88 | 876800 |
| 2013/08/30 00时00分00秒 | 21.91 | 21.91 | 20.91 | 21.23 | 1171500 |
| EDU.Adjusted |
|---|
| 21.51 |
| 21.64 |
| 22.14 |
| 22.05 |
| 22.1 |
| 21.45 |
| 21.04 |
| 20.97 |
| 20.35 |
环境参数的介绍 在全局环境下新建容器,容器是存放对象的。对象的名称是new.environment。通过ls()列出new.environment容器下AAPL变量值. 获取数据,并将获取后的记录放到AAPL中。AAPL通过env参数指定容器。通过get()获取new.environment容器下AAPL变量值。
new.environment=new.env()
getSymbols("AAPL",env=new.environment,scr="yahoo",from="2013-10-01",to="2013-10-10")
## [1] "AAPL"
ls(envir=new.environment)
## [1] "AAPL"
pander::pander(head( new.environment[["AAPL"]]),split.cells = 3)
| Period | AAPL.Open | AAPL.High | AAPL.Low | AAPL.Close | AAPL.Volume |
|---|---|---|---|---|---|
| 2013/10/01 00时00分00秒 | 68.35 | 69.88 | 68.34 | 69.71 | 88470900 |
| 2013/10/02 00时00分00秒 | 69.38 | 70.26 | 69.11 | 69.94 | 72296000 |
| 2013/10/03 00时00分00秒 | 70.07 | 70.34 | 68.68 | 69.06 | 80688300 |
| 2013/10/04 00时00分00秒 | 69.12 | 69.23 | 68.37 | 69 | 64717100 |
| 2013/10/07 00时00分00秒 | 69.51 | 70.38 | 69.34 | 69.68 | 78073100 |
| 2013/10/08 00时00分00秒 | 69.99 | 70.09 | 68.65 | 68.71 | 72729300 |
| AAPL.Adjusted |
|---|
| 62.55 |
| 62.76 |
| 61.97 |
| 61.92 |
| 62.53 |
| 61.65 |
获取各种指数的日数据,例如获取沪深300指数的日数据,它的代码为00300.ss,后面的字母表示该指数从属哪个交易所。
getSymbols("000300.ss",env=new.environment,scr ="yahoo",from="2013-10-01",to="2013-12-10")
## [1] "000300.ss"
ls(envir = new.environment)
## [1] "000300.SS" "AAPL"
pander::pander(head(new.environment[["000300.SS"]]),split.cells =3)
| Period | 000300.SS.Open | 000300.SS.High | 000300.SS.Low |
|---|---|---|---|
| 2013/10/08 00时00分00秒 | 2442 | 2442 | 2442 |
| 2013/10/09 00时00分00秒 | 2454 | 2454 | 2454 |
| 2013/10/10 00时00分00秒 | 2429 | 2429 | 2429 |
| 2013/10/11 00时00分00秒 | 2469 | 2469 | 2469 |
| 2013/10/14 00时00分00秒 | 2473 | 2473 | 2473 |
| 2013/10/15 00时00分00秒 | 2468 | 2468 | 2468 |
| 000300.SS.Close | 000300.SS.Volume | 000300.SS.Adjusted |
|---|---|---|
| 2442 | 0 | 2442 |
| 2454 | 0 | 2454 |
| 2429 | 0 | 2429 |
| 2469 | 0 | 2469 |
| 2473 | 0 | 2473 |
| 2468 | 0 | 2468 |
getDividends("AAPL",env = new.environment,from =" 2012-01-01",to="2013-10-25",vrobose=TRUE)
## AAPL.div
## 2012-08-09 0.05408143
## 2012-11-07 0.05408143
## 2013-02-07 0.05408143
## 2013-05-09 0.06224429
## 2013-08-08 0.06224429
pander::pander(new.environment[["AAPL"]])
| Period | AAPL.Open | AAPL.High | AAPL.Low | AAPL.Close |
|---|---|---|---|---|
| 2013/10/01 00时00分00秒 | 68.35 | 69.88 | 68.34 | 69.71 |
| 2013/10/02 00时00分00秒 | 69.38 | 70.26 | 69.11 | 69.94 |
| 2013/10/03 00时00分00秒 | 70.07 | 70.34 | 68.68 | 69.06 |
| 2013/10/04 00时00分00秒 | 69.12 | 69.23 | 68.37 | 69 |
| 2013/10/07 00时00分00秒 | 69.51 | 70.38 | 69.34 | 69.68 |
| 2013/10/08 00时00分00秒 | 69.99 | 70.09 | 68.65 | 68.71 |
| 2013/10/09 00时00分00秒 | 69.23 | 69.68 | 68.33 | 69.51 |
| AAPL.Volume | AAPL.Adjusted |
|---|---|
| 88470900 | 62.55 |
| 72296000 | 62.76 |
| 80688300 | 61.97 |
| 64717100 | 61.92 |
| 78073100 | 62.53 |
| 72729300 | 61.65 |
| 75431300 | 62.38 |
1.is 族函数 2.hash 族函数 3.列名函数 4.计算函数
提取某种类型
| 数据类型 | 全称 | 意义 |
|---|---|---|
| Op | Open price | 开盘价 |
| Hi | High price | 最高价 |
| Lo | Low price | 最低价 |
| Cl | Close price | 收盘价 |
| Vo | Volume | 交易量 |
| Ad | Adjusted price | 调整价格 |
| HLC | Hi,Lo,Cl | 最高价、最低价和收盘价 |
| OHLC | Op,Hi,Lo,Cl | 开盘价、最高价、最低价和收盘价 |
getSymbols("AAPL",from="2013-09-01", to="2013-09-20")
## [1] "AAPL"
Op(AAPL)
## AAPL.Open
## 2013-09-03 70.44286
## 2013-09-04 71.36571
## 2013-09-05 71.46429
## 2013-09-06 71.20571
## 2013-09-09 72.14286
## 2013-09-10 72.31428
## 2013-09-11 66.71571
## 2013-09-12 66.92857
## 2013-09-13 67.04857
## 2013-09-16 65.85714
## 2013-09-17 63.99429
## 2013-09-18 66.16857
## 2013-09-19 67.24286
Hi(AAPL)
## AAPL.High
## 2013-09-03 71.51428
## 2013-09-04 71.74857
## 2013-09-05 71.52571
## 2013-09-06 71.34000
## 2013-09-09 72.56000
## 2013-09-10 72.49286
## 2013-09-11 67.67000
## 2013-09-12 67.91428
## 2013-09-13 67.40429
## 2013-09-16 65.94428
## 2013-09-17 65.67286
## 2013-09-18 66.62143
## 2013-09-19 67.97572
Lo(AAPL)
## AAPL.Low
## 2013-09-03 69.62143
## 2013-09-04 70.89714
## 2013-09-05 70.52000
## 2013-09-06 69.99286
## 2013-09-09 71.92571
## 2013-09-10 69.92857
## 2013-09-11 66.40143
## 2013-09-12 66.57286
## 2013-09-13 66.38571
## 2013-09-16 63.88857
## 2013-09-17 63.92857
## 2013-09-18 65.80857
## 2013-09-19 67.03571
判断某数据是否是某类型的数据
is.OHLC() --Open price,High price,Low price Close price 开盘价,最高价,最低价和收盘价
is.OHLCV() --V 交易量
is.BBO()
is.TBBO()
is.HLC()
检查数据里面是否包含某类型的数据
has.OHLC()
has.HLC()
has.OHLCV()
has.Op()
has.Hi()
has.Lo()
has.Cl()
has.Vo()
has.Ad()
has.Ask()
has.Bid()
has.Price()
has.Qty()
has.Trade()
#检查数据里面包含某种数据类型
#是否包含开盘价
has.Op(AAPL)
## [1] TRUE
#是否包含开盘价,最高价,最低价,收盘价
has.OHLC(AAPL)
## [1] TRUE TRUE TRUE TRUE
has.OHLC(AAPL,which=FALSE)
## [1] TRUE TRUE TRUE TRUE
has.OHLC(AAPL,which=TRUE)
## [1] 1 2 3 4
| 函数 | 描述 |
|---|---|
| Delt() | 计算变化率 |
| Lag() | 求滞后K期 |
| Next() | 所有观测值的值前进k个单位 |
| first() | 求前K个元素 |
| last() | 求后K个元素 |
| periodReturn() | 计算不同阶段的收益率 |
| dailyReturn() | 计算日收益率 |
| weeklyReturn() | 计算周收益率 |
| monthlyReturn() | 计算月收益率 |
| quarterlyReturn() | 计算季度收益率 |
| annualReturn() | 计算年化收益率 |
| yearlyReturn() | 计算年收益率 |
| allReturn() | 各种收益率汇总 |
Delt()函数 主要是用来计算一个序列的一个阶段到另一个阶段的变化率或者计算两个序列之间的变化率
#当天减去前一天的值,然后除以前一天的值,
Delt(Op(AAPL),type=("arithmetic"))#算数
## Delt.1.arithmetic
## 2013-09-03 NA
## 2013-09-04 0.013100817
## 2013-09-05 0.001381223
## 2013-09-06 -0.003618255
## 2013-09-09 0.013161149
## 2013-09-10 0.002376188
## 2013-09-11 -0.077419987
## 2013-09-12 0.003190553
## 2013-09-13 0.001792881
## 2013-09-16 -0.017769641
## 2013-09-17 -0.028286288
## 2013-09-18 0.033976237
## 2013-09-19 0.016235623
Delt(Op(AAPL),type=("log"))#对数
## Delt.1.log
## 2013-09-03 NA
## 2013-09-04 0.013015744
## 2013-09-05 0.001380270
## 2013-09-06 -0.003624817
## 2013-09-09 0.013075294
## 2013-09-10 0.002373369
## 2013-09-11 -0.080581172
## 2013-09-12 0.003185474
## 2013-09-13 0.001791276
## 2013-09-16 -0.017929417
## 2013-09-17 -0.028694052
## 2013-09-18 0.033411794
## 2013-09-19 0.016105235
#(关盘价-开盘价)/开盘价
Delt(Op(AAPL),Cl(AAPL))
## Delt.0.arithmetic
## 2013-09-03 -0.009166494
## 2013-09-04 -0.001741494
## 2013-09-05 -0.009955098
## 2013-09-06 -0.000441327
## 2013-09-09 0.002316764
## 2013-09-10 -0.022836816
## 2013-09-11 0.001498867
## 2013-09-12 0.008943430
## 2013-09-13 -0.009460083
## 2013-09-16 -0.023600843
## 2013-09-17 0.016430045
## 2013-09-18 0.003238501
## 2013-09-19 0.003399156
Next()函数
head(AAPL)
## AAPL.Open AAPL.High AAPL.Low AAPL.Close AAPL.Volume
## 2013-09-03 70.44286 71.51428 69.62143 69.79714 82982200
## 2013-09-04 71.36571 71.74857 70.89714 71.24143 86258200
## 2013-09-05 71.46429 71.52571 70.52000 70.75285 59091900
## 2013-09-06 71.20571 71.34000 69.99286 71.17429 89881400
## 2013-09-09 72.14286 72.56000 71.92571 72.31000 85171800
## 2013-09-10 72.31428 72.49286 69.92857 70.66286 185798900
## AAPL.Adjusted
## 2013-09-03 62.63193
## 2013-09-04 63.92795
## 2013-09-05 63.48952
## 2013-09-06 63.86770
## 2013-09-09 64.88683
## 2013-09-10 63.40878
#所有观测值的值前进k个单位
Next(AAPL,1)
## Next
## 2013-09-03 71.36571
## 2013-09-04 71.46429
## 2013-09-05 71.20571
## 2013-09-06 72.14286
## 2013-09-09 72.31428
## 2013-09-10 66.71571
## 2013-09-11 66.92857
## 2013-09-12 67.04857
## 2013-09-13 65.85714
## 2013-09-16 63.99429
## 2013-09-17 66.16857
## 2013-09-18 67.24286
## 2013-09-19 71.74857
Return系列
getSymbols("AAPL")
## [1] "AAPL"
periodReturn(AAPL,period = "daily",subset = "2013-10-01::2013-10-23",type = "arithmetic")
## daily.returns
## 2013-10-01 0.0235134231
## 2013-10-02 0.0032789224
## 2013-10-03 -0.0125622807
## 2013-10-04 -0.0007860429
## 2013-10-07 0.0097716536
## 2013-10-08 -0.0139621543
## 2013-10-09 0.0117478589
## 2013-10-10 0.0062681067
## 2013-10-11 0.0064741567
## 2013-10-14 0.0065542136
## 2013-10-15 0.0053221678
## 2013-10-16 0.0048728946
## 2013-10-17 0.0067649438
## 2013-10-18 0.0087017010
## 2013-10-21 0.0245043747
## 2013-10-22 -0.0028579483
## 2013-10-23 0.0097909112
head(dailyReturn(AAPL))
## daily.returns
## 2007-01-03 -0.028856159
## 2007-01-04 0.022195679
## 2007-01-05 -0.007121188
## 2007-01-08 0.004938272
## 2007-01-09 0.083070106
## 2007-01-10 0.047855589
first(allReturns(AAPL),5)
## daily weekly monthly quarterly yearly
## 2007-01-03 NA NA NA NA NA
## 2007-01-04 0.022195679 NA NA NA NA
## 2007-01-05 -0.007121188 -0.01437016 NA NA NA
## 2007-01-08 0.004938272 NA NA NA NA
## 2007-01-09 0.083070106 NA NA NA NA
| 作图函数 | 描述 |
|---|---|
| chartTheme() | 啥啥啥 |
| chartSeries() | 啥都是 |
| reChart() | 啥 |
| barChart() | 箱型图 |
| candleChart() | 蜡烛图 |
| lineChart() | 线图 |
chartserises() 主绘图函数,可以画条形图,蜡烛图和线图
chartSeries(AAPL,name = "AAPLCHART",subset = "2013-10-01::2013-10-23")
chartSeries(AAPL,name = "AAPLCHART",subset = "2013-10-01::2013-10-23",theme = "white")
#适合印刷
chartSeries(AAPL,name = "AAPLCHART",subset = "2013-10-01::2013-10-23",theme = "white.mono")
chart_Series(AAPL,type = "auto",subset = "2013-10-01::2013-10-23")
chart_Series(AAPL,type = "candlesticks",subset = "2013-10-01::2013-10-23")
chart_Series(AAPL,type = "bar",subset = "2013-10-01::2013-10-23")
chart_Series(AAPL,type = "line",subset = "2013-10-01::2013-10-23")
chart_Series(AAPL,type = "matchsticks",subset = "2013-10-01::2013-10-23")
reChart() 可以在不重新再画一张新的图的前提下修改已经画出来的图
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-10-01::2013-10-23",type="candlesticks")
reChart(type = "bars",subset ="2013-10-01::2013-10-23" ,show.grid = TRUE)
barChart() barchar()特有的bartype
getSymbols("AAPL",scr="yahoo")
## [1] "AAPL"
barChart(AAPL,theme = "white")
barChart(AAPL,theme = "white",subset = "2012-12::2013")
barChart(AAPL,theme = "white",subset = "last 10 weeks")
barChart(AAPL,theme = "white",subset = "first 10 weeks")
#bartype
barChart(AAPL,theme = "white",subset = "first 10 weeks",bar.type = "ohlc")
barChart(AAPL,theme = "white",subset = "first 10 weeks",bar.type = "hlc")
lineChart()
lineChart(AAPL,theme = "white",subset = "2013-10-01::2013-10-23",line.type = "l")
lineChart(AAPL,theme = "white",subset = "2013-10-01::2013-10-23",line.type = "p")
lineChart(AAPL,theme = "white",subset = "2013-10-01::2013-10-23",line.type = "b")
| 技术分析图函数 | 描述 |
|---|---|
| addADX() | |
| addATR() | |
| addBBands() | |
| addCCI() | |
| addCMF() | |
| addCMO() | |
| addEMA() | |
| addEnvelope() | |
| addMACD() | |
| addMomentum() | |
| addExpiry() | |
| addSAR() | |
| addSMA() | |
| addSMI() | |
| addDEMA() | |
| addDPO() | |
| addROC() | |
| addRSI() | |
| addVo() | |
| addWMA() | |
| addWPR() | |
| addZLEMA() | |
| addZigZag() |
例ADX
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks",theme = "white")
addADX()
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addBBands(n=14,sd=2,draw = "percent")
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addBBands(n=14,sd=2,draw = "width")
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addCCI()
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addRSI()
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addVo()
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addWPR()
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addSAR()
chartSeries(AAPL,name="AAPLBARCHART",subset="2013-08-01::2013-10-23",type="candlesticks")
addDPO()